home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C++ / Applications / Nuntius 1.2 / src / Nuntius / UGroupListCmds.h < prev    next >
Encoding:
Text File  |  1994-03-06  |  2.2 KB  |  94 lines  |  [TEXT/MPS ]

  1. // Copyright © 1992 Peter Speck, speck@dat.ruc.dk. All rights reserved.
  2. // UGroupListCmds.h
  3.  
  4. #define __UGROUPLISTCMDS__
  5.  
  6. #ifndef __UGROUPVIEWCMDS__
  7. #include "UGroupViewCmds.h"
  8. #endif
  9.  
  10. #ifndef __UPERIODIC__
  11. #include "UPeriodic.h"
  12. #endif
  13.  
  14. class TGroupListDoc;
  15. class TGroupList;
  16. class TGroupTree;
  17. class PNntp;
  18.  
  19. class TUnsubscribeGroupTracker : public TGroupTracker
  20. {    
  21.     public:
  22.             
  23.         TUnsubscribeGroupTracker();
  24.         virtual pascal void Initialize();
  25.         virtual pascal void IUnsubscribeGroupTracker(
  26.                                                 TGroupListView *groupListView,
  27.                                                 const VPoint &localMouse,
  28.                                                 Boolean makingCopy);
  29.         virtual pascal void Free();
  30.     protected:
  31.         virtual void MakeGrayPict();
  32.         virtual void CreateListOfDraggedGroups();
  33.         virtual void CheckForExistingGroups(TGroupListView *hitGroupListView, Boolean makingCopy);
  34.         virtual void GetBeforeGroupName(TGroupListView *groupListView, short beforeRow, CStr255 &name);
  35.  
  36.     private:
  37.         TGroupListView *fGroupListView;
  38. };
  39.  
  40.  
  41. class TListTypeName : public TGroupViewTypeNameCommand
  42. {
  43.     public:
  44.         TListTypeName();
  45.         virtual pascal void Initialize();
  46.         void IListTypeName(TGroupListView *glv, TToolboxEvent *event);
  47.         virtual pascal void Free();
  48.     protected:
  49.         TGroupListView *fGroupListView;
  50.         TGroupList *fGroupList;
  51.  
  52.         virtual void SetUp();
  53.         virtual void SetDown();
  54.         virtual void GetLineText(ArrayIndex line, CStr255 &text);
  55.         virtual void DoOneLine(ArrayIndex line);
  56. };
  57.  
  58. class TListTabKeyCommand : public TGroupViewTabKeyCommand
  59. {
  60.     public:
  61.         TListTabKeyCommand();
  62.         virtual pascal void Initialize();
  63.         void IListTabKeyCommand(TGroupListView *glv, Boolean forward);
  64.         virtual pascal void Free();
  65.     protected:
  66.         TGroupListView *fGroupListView;
  67.         TGroupList *fGroupList;
  68.  
  69.         virtual void GetLineText(ArrayIndex line, CStr255 &text);
  70. };
  71.  
  72. class TPeriodicCheckNewArticles : public TPeriodicAction
  73. {
  74.     public:
  75.         TPeriodicCheckNewArticles();
  76.         pascal void Initialize();
  77.         void IPeriodicCheckNewArticles(TGroupListDoc *doc);
  78.         pascal void Free();
  79.  
  80.     protected:
  81.         void DoPeriodic();
  82.         const char *GetDebugDescription();
  83.  
  84.     private:
  85.         TGroupListDoc *fGroupListDoc;
  86.         TGroupList *fGroupList;
  87.         PNntp *fNntp;
  88.  
  89.         Boolean GetCurrentLastID(const CStr255 &dotName, long &lastID);
  90.         void DoTheCheck();
  91.         Boolean UpdateGroup(const CStr255 &dotName);
  92.         void UpdateGroupDatabases();
  93. };
  94.